package com.service;

import com.data.*;

import java.util.List;

public class CourseService {
    public List<Course> add(String cName, int cNum, String cType){
        CourseDAO dao=new CourseDAO();
        dao.add(cName,cNum,cType);
        return dao.display();
    }
    public List<Course> delete(int cid){
        CourseDAO dao=new CourseDAO();
        dao.delete(cid);
        return dao.display();
    }
    public List<Course> display(){
        CourseDAO dao=new CourseDAO();
        return dao.display();
    }
    public  String failure(String cName, String cNum, String cType){
        String error;
        if(cName.isEmpty()){
            error="未输入课程名";
            return error;
        }
        else if(cNum.isEmpty()){
            error="未输入选课人数";
            return error;
        }
        try{
            Integer.valueOf(cNum);
        }
        catch (NumberFormatException e){
            error="选课人数格式错误";
            return error;
        }
        if(cType.equals("0")){
            error="未选择课程性质";
            return error;
        }
        return new String();
    }
    public List<HitCourse> Hitdisplay(int uId){
        HitCourseDao dao=new HitCourseDao();
        return dao.display(uId);
    }
    public List<HitCourse> Hitadd(int uId,int cId){
        HitCourseDao dao=new HitCourseDao();
        dao.add(uId,cId);
        return dao.display(uId);
    }
    public List<HitCourse> Hitdelete(int uId,int cId){
        HitCourseDao dao=new HitCourseDao();
        dao.delete(uId,cId);
        return dao.display(uId);
    }
    public boolean checkcId(int uId,int cId){
        HitCourseDao dao=new HitCourseDao();
        return dao.checkcid(uId,cId);
    }

    public page getPage(int pageNo,int pageSize){
        CourseDAO dao=new CourseDAO();
        page p=new page();

        p.setPageSize(pageSize);

        int totalSize=dao.totalSize();
        p.setTotalSize(totalSize);

        int totalPage=totalSize%pageSize==0?totalSize/pageSize:totalSize/pageSize+1;
        p.setTotalPage(totalPage);

        if(pageNo<=0){
            pageNo=1;
        }
        if(pageNo>totalPage){
            pageNo=totalPage;
        }
        p.setPageNo(pageNo);
        List<Course> courses=dao.getSomeCourse(pageNo,pageSize);
        p.setCourses(courses);
        return p;
    }
    public page getPage(int pageNo,int pageSize,String s){
        CourseDAO dao=new CourseDAO();
        page p=new page();

        p.setPageSize(pageSize);

        int totalSize=dao.totalSize();
        p.setTotalSize(totalSize);

        int totalPage=totalSize%pageSize==0?totalSize/pageSize:totalSize/pageSize+1;
        p.setTotalPage(totalPage);

        if(pageNo<=0){
            pageNo=1;
        }
        if(pageNo>totalPage){
            pageNo=totalPage;
        }
        p.setPageNo(pageNo);
        List<Course> courses=dao.getSomeCourse(pageNo,pageSize,s);
        p.setCourses(courses);
        return p;
    }
}
